const path = require('path')
    // 引入上传图片中间件
const multer = require('multer')
    // 格式化日期的工具
const sd = require('silly-datetime')
    // 生成文件夹的工具
const mkdirp = require('mkdirp')
let tools = {
    multer() {
        var storage = multer.diskStorage({
            // 设置保存地址
            destination: async(req, file, cb) => {
                //1、获取当前日期
                let day = sd.format(new Date(), 'YYYYMMDD')
                    //2. 按照日期生成储存目录
                let dir = path.join("static/upload", day)
                    // 因为mkdirp为异步函数， 只有等mkdirp创建好文件夹后才能往里面存文件，所以使用async和await关键字
                await mkdirp(dir)
                cb(null, dir)
            },
            // 更改文件名
            filename: function(req, file, cb) {
                let extname = path.extname(file.originalname)
                cb(null, Date.now() + extname)
            }
        })
        var upload = multer({ storage: storage })
        return upload
    }
}
module.exports = tools